iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
生成式 AI

30天RAG一點通系列 第 9

(RAG 2-2) 檢索精度突破:Rerank重排序的企業實踐

  • 分享至 

  • xImage
  •  

在 RAG 的檢索階段,我們會取得數個與使用者問題相關的 chunk,並按照相似度排序。但問題是:

  • ANN 雖然快,但可能不準確(尤其在百萬級知識庫中,結果常有雜訊)
  • 因此我們需要 Rerank 技術,在候選集合中進行「精修」,提升檢索精度

這就是企業常用的 二階段檢索流程

  1. 粗修:ANN 快速檢索 → 取前 100 筆候選
  2. 精修:Rerank 模型對候選進行排序 → 取前 5–10 筆餵給 LLM

Rerank 模型原理

Rerank 模型通常訓練成 相關性評分任務

  • 輸入:一個 Query(問題) + 一個 Document(候選文檔)
  • 輸出:0-1 之間的相關性分數(分數越高表示越相關)

Cross-encoder 模型會將 Query 和 Document 拼接後,通過 Transformer 架構計算深層語義相關度,最後根據分數重新排序。

Bi-encoder vs Cross-encoder 對比

模型類型 工作方式 優點 缺點 適用場景
Bi-encoder Query & Document 各自編碼成向量 → 相似度比對 檢索快、可 ANN 加速 語義理解有限 初步檢索
Cross-encoder 把 Query + Document 拼在一起 → Transformer 計算相關性 精度高、上下文理解強 計算成本高、無法預先索引 Rerank 重排序

關鍵:企業常用 Bi-encoder + ANN 作粗修,再用 Cross-encoder 作精修。

Rerank 策略

1. 標準二階段檢索

使用相同的Bi-encoder進行檢索和重排。

Query → Bi-encoder 向量化 → ANN 索引檢索 → Top-100 候選 → Cross-encoder 重排 → Top-10 結果

2. 混合模型策略

使用不同的模型進行粗排和精排,優化各自的專長。

Query → 快速Bi-encoder → ANN 粗排 → Top-100 → 精確Cross-encoder → Top-10

3. 分層檢索策略

多輪檢索,逐步精細化。

Query → ANN 檢索 → Top-1000 → 第一輪Rerank → Top-100 → 第二輪Rerank → Top-10

效果評估指標

常見的檢索精度衡量方式:

  • Recall@K:在前 K 筆結果中,正確答案被找回的比例
  • MRR (Mean Reciprocal Rank):越早找到正確答案,分數越高
  • nDCG (Normalized Discounted Cumulative Gain):考慮排序位置的加權分數,越相關的文件越應排前面

實際效果範例:

  • 單用 ANN → Recall@10 = 60-75%
  • 加上 Rerank → Recall@10 = 75-90%

實際提升幅度取決於數據集特性和應用領域,通常能帶來 10-30% 的精度提升

企業應用案例

  • FAQ 系統:避免回答「差不多意思」的錯誤答案
  • 法務文件檢索:確保相似案例能排在最前面
  • 客服知識庫:提升回覆準確度,避免「答非所問」

實務考量

延遲 vs 精度權衡

高精度需求(法務、醫療)
├─ Cross-encoder 重排(可接受較高延遲)

一般業務需求  
├─ 混合策略(平衡精度與速度)

高頻查詢場景(客服、搜尋)
└─ 快速 Bi-encoder(優先考慮速度)

成本控制策略

  • 批次重排:累積查詢後批次處理,提升吞吐量
  • 快取機制:常見查詢結果快取,避免重複計算
  • 分層服務:VIP 用戶使用精排,一般用戶使用快速檢索

總結

Rerank 是讓 RAG 從「能用」到「好用」的關鍵技術

  • ANN → 快速檢索,解決「找不到」問題
  • Rerank → 精確排序,解決「找不準」問題
  • 企業最佳實踐:二階段檢索管線(ANN 粗修 + Cross-encoder 精修)

想想看

  1. 成本效益分析:在什麼情況下,Rerank 帶來的精度提升值得額外的計算成本?

  2. 混合策略設計:如何設計一個能根據查詢類型自動選擇檢索策略的智能系統?


上一篇
(RAG 2-1) 企業級百萬資料庫快速檢索方式---ANN
下一篇
(RAG 2-3) 混合檢索與查詢智能化:召回率與精度的雙重保障
系列文
30天RAG一點通13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言